﻿using System;
using System.Collections.Generic;
using System.Text;

namespace UnityEngine.Graphics.Texture.Ijl15
{
    enum IJLIOTYPE
    {

        /// IJL_SETUP -> -1
        IJL_SETUP = -1,

        /// IJL_JFILE_READPARAMS -> 0
        IJL_JFILE_READPARAMS = 0,

        /// IJL_JBUFF_READPARAMS -> 1
        IJL_JBUFF_READPARAMS = 1,

        /// IJL_JFILE_READWHOLEIMAGE -> 2
        IJL_JFILE_READWHOLEIMAGE = 2,

        /// IJL_JBUFF_READWHOLEIMAGE -> 3
        IJL_JBUFF_READWHOLEIMAGE = 3,

        /// IJL_JFILE_READHEADER -> 4
        IJL_JFILE_READHEADER = 4,

        /// IJL_JBUFF_READHEADER -> 5
        IJL_JBUFF_READHEADER = 5,

        /// IJL_JFILE_READENTROPY -> 6
        IJL_JFILE_READENTROPY = 6,

        /// IJL_JBUFF_READENTROPY -> 7
        IJL_JBUFF_READENTROPY = 7,

        /// IJL_JFILE_WRITEWHOLEIMAGE -> 8
        IJL_JFILE_WRITEWHOLEIMAGE = 8,

        /// IJL_JBUFF_WRITEWHOLEIMAGE -> 9
        IJL_JBUFF_WRITEWHOLEIMAGE = 9,

        /// IJL_JFILE_WRITEHEADER -> 10
        IJL_JFILE_WRITEHEADER = 10,

        /// IJL_JBUFF_WRITEHEADER -> 11
        IJL_JBUFF_WRITEHEADER = 11,

        /// IJL_JFILE_WRITEENTROPY -> 12
        IJL_JFILE_WRITEENTROPY = 12,

        /// IJL_JBUFF_WRITEENTROPY -> 13
        IJL_JBUFF_WRITEENTROPY = 13,

        /// IJL_JFILE_READONEHALF -> 14
        IJL_JFILE_READONEHALF = 14,

        /// IJL_JBUFF_READONEHALF -> 15
        IJL_JBUFF_READONEHALF = 15,

        /// IJL_JFILE_READONEQUARTER -> 16
        IJL_JFILE_READONEQUARTER = 16,

        /// IJL_JBUFF_READONEQUARTER -> 17
        IJL_JBUFF_READONEQUARTER = 17,

        /// IJL_JFILE_READONEEIGHTH -> 18
        IJL_JFILE_READONEEIGHTH = 18,

        /// IJL_JBUFF_READONEEIGHTH -> 19
        IJL_JBUFF_READONEEIGHTH = 19,

        /// IJL_JFILE_READTHUMBNAIL -> 20
        IJL_JFILE_READTHUMBNAIL = 20,

        /// IJL_JBUFF_READTHUMBNAIL -> 21
        IJL_JBUFF_READTHUMBNAIL = 21,
    }

    enum IJL_COLOR
    {

        /// IJL_RGB -> 1
        IJL_RGB = 1,

        /// IJL_BGR -> 2
        IJL_BGR = 2,

        /// IJL_YCBCR -> 3
        IJL_YCBCR = 3,

        /// IJL_G -> 4
        IJL_G = 4,

        /// IJL_RGBA_FPX -> 5
        IJL_RGBA_FPX = 5,

        /// IJL_YCBCRA_FPX -> 6
        IJL_YCBCRA_FPX = 6,

        /// IJL_OTHER -> 255
        IJL_OTHER = 255,
    }

    enum IJL_DIBSUBSAMPLING
    {

        /// IJL_NONE -> 0
        IJL_NONE = 0,

        /// IJL_411 -> 1
        IJL_411 = 1,

        /// IJL_422 -> 2
        IJL_422 = 2,

        /// IJL_4114 -> 3
        IJL_4114 = 3,

        /// IJL_4224 -> 4
        IJL_4224 = 4,
    }

    enum IJLERR
    {

        /// IJL_OK -> 0
        IJL_OK = 0,

        /// IJL_INTERRUPT_OK -> 1
        IJL_INTERRUPT_OK = 1,

        /// IJL_ROI_OK -> 2
        IJL_ROI_OK = 2,

        /// IJL_EXCEPTION_DETECTED -> -1
        IJL_EXCEPTION_DETECTED = -1,

        /// IJL_INVALID_ENCODER -> -2
        IJL_INVALID_ENCODER = -2,

        /// IJL_UNSUPPORTED_SUBSAMPLING -> -3
        IJL_UNSUPPORTED_SUBSAMPLING = -3,

        /// IJL_UNSUPPORTED_BYTES_PER_PIXEL -> -4
        IJL_UNSUPPORTED_BYTES_PER_PIXEL = -4,

        /// IJL_MEMORY_ERROR -> -5
        IJL_MEMORY_ERROR = -5,

        /// IJL_BAD_HUFFMAN_TABLE -> -6
        IJL_BAD_HUFFMAN_TABLE = -6,

        /// IJL_BAD_QUANT_TABLE -> -7
        IJL_BAD_QUANT_TABLE = -7,

        /// IJL_INVALID_JPEG_PROPERTIES -> -8
        IJL_INVALID_JPEG_PROPERTIES = -8,

        /// IJL_ERR_FILECLOSE -> -9
        IJL_ERR_FILECLOSE = -9,

        /// IJL_INVALID_FILENAME -> -10
        IJL_INVALID_FILENAME = -10,

        /// IJL_ERROR_EOF -> -11
        IJL_ERROR_EOF = -11,

        /// IJL_PROG_NOT_SUPPORTED -> -12
        IJL_PROG_NOT_SUPPORTED = -12,

        /// IJL_ERR_NOT_JPEG -> -13
        IJL_ERR_NOT_JPEG = -13,

        /// IJL_ERR_COMP -> -14
        IJL_ERR_COMP = -14,

        /// IJL_ERR_SOF -> -15
        IJL_ERR_SOF = -15,

        /// IJL_ERR_DNL -> -16
        IJL_ERR_DNL = -16,

        /// IJL_ERR_NO_HUF -> -17
        IJL_ERR_NO_HUF = -17,

        /// IJL_ERR_NO_QUAN -> -18
        IJL_ERR_NO_QUAN = -18,

        /// IJL_ERR_NO_FRAME -> -19
        IJL_ERR_NO_FRAME = -19,

        /// IJL_ERR_MULT_FRAME -> -20
        IJL_ERR_MULT_FRAME = -20,

        /// IJL_ERR_DATA -> -21
        IJL_ERR_DATA = -21,

        /// IJL_ERR_NO_IMAGE -> -22
        IJL_ERR_NO_IMAGE = -22,

        /// IJL_FILE_ERROR -> -23
        IJL_FILE_ERROR = -23,

        /// IJL_INTERNAL_ERROR -> -24
        IJL_INTERNAL_ERROR = -24,

        /// IJL_BAD_RST_MARKER -> -25
        IJL_BAD_RST_MARKER = -25,

        /// IJL_THUMBNAIL_DIB_TOO_SMALL -> -26
        IJL_THUMBNAIL_DIB_TOO_SMALL = -26,

        /// IJL_THUMBNAIL_DIB_WRONG_COLOR -> -27
        IJL_THUMBNAIL_DIB_WRONG_COLOR = -27,

        /// IJL_BUFFER_TOO_SMALL -> -28
        IJL_BUFFER_TOO_SMALL = -28,

        /// IJL_UNSUPPORTED_FRAME -> -29
        IJL_UNSUPPORTED_FRAME = -29,

        /// IJL_ERR_COM_BUFFER -> -30
        IJL_ERR_COM_BUFFER = -30,

        /// IJL_RESERVED -> -99
        IJL_RESERVED = -99,
    }

    enum DCTTYPE
    {

        /// IJL_AAN -> 0
        IJL_AAN = 0,

        /// IJL_IPP -> 1
        IJL_IPP = 1,
    }

    enum UPSAMPLING_TYPE
    {

        /// IJL_BOX_FILTER -> 0
        IJL_BOX_FILTER = 0,

        /// IJL_TRIANGLE_FILTER -> 1
        IJL_TRIANGLE_FILTER = 1,
    }

    enum PROCESSOR_TYPE
    {

        /// IJL_OTHER_PROC -> 0
        IJL_OTHER_PROC = 0,

        /// IJL_PENTIUM_PROC -> 1
        IJL_PENTIUM_PROC = 1,

        /// IJL_PENTIUM_PRO_PROC -> 2
        IJL_PENTIUM_PRO_PROC = 2,

        /// IJL_PENTIUM_PROC_MMX_TECH -> 3
        IJL_PENTIUM_PROC_MMX_TECH = 3,

        /// IJL_PENTIUM_II_PROC -> 4
        IJL_PENTIUM_II_PROC = 4,

        /// IJL_PENTIUM_III_PROC -> 5
        IJL_PENTIUM_III_PROC = 5,

        /// IJL_PENTIUM_4_PROC -> 6
        IJL_PENTIUM_4_PROC = 6,

        /// IJL_NEW_PROCESSOR -> 7
        IJL_NEW_PROCESSOR = 7,
    }

    enum FAST_MCU_PROCESSING_TYPE
    {

        /// IJL_NO_CC_OR_US -> 0
        IJL_NO_CC_OR_US = 0,

        /// IJL_111_YCBCR_111_RGB -> 1
        IJL_111_YCBCR_111_RGB = 1,

        /// IJL_111_YCBCR_111_BGR -> 2
        IJL_111_YCBCR_111_BGR = 2,

        /// IJL_411_YCBCR_111_RGB -> 3
        IJL_411_YCBCR_111_RGB = 3,

        /// IJL_411_YCBCR_111_BGR -> 4
        IJL_411_YCBCR_111_BGR = 4,

        /// IJL_422_YCBCR_111_RGB -> 5
        IJL_422_YCBCR_111_RGB = 5,

        /// IJL_422_YCBCR_111_BGR -> 6
        IJL_422_YCBCR_111_BGR = 6,

        /// IJL_111_YCBCR_1111_RGBA_FPX -> 7
        IJL_111_YCBCR_1111_RGBA_FPX = 7,

        /// IJL_411_YCBCR_1111_RGBA_FPX -> 8
        IJL_411_YCBCR_1111_RGBA_FPX = 8,

        /// IJL_422_YCBCR_1111_RGBA_FPX -> 9
        IJL_422_YCBCR_1111_RGBA_FPX = 9,

        /// IJL_1111_YCBCRA_FPX_1111_RGBA_FPX -> 10
        IJL_1111_YCBCRA_FPX_1111_RGBA_FPX = 10,

        /// IJL_4114_YCBCRA_FPX_1111_RGBA_FPX -> 11
        IJL_4114_YCBCRA_FPX_1111_RGBA_FPX = 11,

        /// IJL_4224_YCBCRA_FPX_1111_RGBA_FPX -> 12
        IJL_4224_YCBCRA_FPX_1111_RGBA_FPX = 12,

        /// IJL_111_RGB_1111_RGBA_FPX -> 13
        IJL_111_RGB_1111_RGBA_FPX = 13,

        /// IJL_1111_RGBA_FPX_1111_RGBA_FPX -> 14
        IJL_1111_RGBA_FPX_1111_RGBA_FPX = 14,

        /// IJL_111_OTHER_111_OTHER -> 15
        IJL_111_OTHER_111_OTHER = 15,

        /// IJL_411_OTHER_111_OTHER -> 16
        IJL_411_OTHER_111_OTHER = 16,

        /// IJL_422_OTHER_111_OTHER -> 17
        IJL_422_OTHER_111_OTHER = 17,

        /// IJL_YCBYCR_YCBCR -> 18
        IJL_YCBYCR_YCBCR = 18,

        /// IJL_YCBCR_YCBYCR -> 19
        IJL_YCBCR_YCBYCR = 19,
    }
}
